import { Inject, Controller, Get } from '@midwayjs/core';
import { Context } from '@midwayjs/koa';
import { UserService } from '../service/user.service';

@Controller('/web')
export class WEBController {
  static router = [
    {
      name: '首页',
      url: './',
    },
    {
      name: '博客',
      url: './blog.html',
    },
    {
      name: '留言',
      url: './message.html',
    },
    {
      name: '链接',
      url: './link.html',
    },
  ];
  static webData = {
    title: '示例站点',
    router: WEBController.router,
    opt: {
      addr: '四川成都金牛区四川成都金牛区39号',
      qq: '123456789',
      email: 'EMAIL@qq.com',
    },
    texts: [
      {
        title: '不忘初心,砥砺前行',
        time: Date.now(),
        cover: 'src/image/1.jpg',
        content:
          '不忘初心,砥砺前行的意思是不要忘记自己的最初想法与意志,并将自己磨练成像一把利剑一样奋进前行,不放弃自己的最初想法,并努力的去完成并实现它。',
      },
      {
        title: '不忘初心,砥砺前行',
        time: Date.now(),
        cover: 'src/image/1.jpg',
        content:
          '不忘初心,砥砺前行的意思是不要忘记自己的最初想法与意志,并将自己磨练成像一把利剑一样奋进前行,不放弃自己的最初想法,并努力的去完成并实现它。',
      },
      {
        title: '不忘初心,砥砺前行',
        time: Date.now(),
        cover: 'src/image/1.jpg',
        content:
          '不忘初心,砥砺前行的意思是不要忘记自己的最初想法与意志,并将自己磨练成像一把利剑一样奋进前行,不放弃自己的最初想法,并努力的去完成并实现它。',
      },
    ],
    bolg: [
      {
        title: '.NET Spire.Doc组件',
        time: Date.now(),
        top: true,
        original: true,
        cover: 'src/image/cover/2019121192339714.png',
        content:
          'Spire.Doc for .NET是一款由E-iceblue公司开发的专业的Word .NET类库，使用该工具开发人员可以在任意.NET平台（C#，VB.NET，ASP.NET）上快速创建，读取，写入，转换，打印Word文档。作为一个独立的Word 组件，Spire.Doc的运行无需安装Microsoft Word。而且，它可以将Microsoft Word文档创建功能集成到开发者的任何.NET应用程序。',
      },
      {
        title: '.NET Spire.Doc组件',
        time: Date.now(),
        top: true,
        original: true,
        cover: 'src/image/cover/2019121192339714.png',
        content:
          'Spire.Doc for .NET是一款由E-iceblue公司开发的专业的Word .NET类库，使用该工具开发人员可以在任意.NET平台（C#，VB.NET，ASP.NET）上快速创建，读取，写入，转换，打印Word文档。作为一个独立的Word 组件，Spire.Doc的运行无需安装Microsoft Word。而且，它可以将Microsoft Word文档创建功能集成到开发者的任何.NET应用程序。',
      },
      {
        title: '.NET Spire.Doc组件',
        time: Date.now(),
        top: false,
        original: true,
        cover: 'src/image/cover/2019121192339714.png',
        content:
          'Spire.Doc for .NET是一款由E-iceblue公司开发的专业的Word .NET类库，使用该工具开发人员可以在任意.NET平台（C#，VB.NET，ASP.NET）上快速创建，读取，写入，转换，打印Word文档。作为一个独立的Word 组件，Spire.Doc的运行无需安装Microsoft Word。而且，它可以将Microsoft Word文档创建功能集成到开发者的任何.NET应用程序。',
      },
      {
        title: '.NET Spire.Doc组件',
        time: Date.now(),
        top: false,
        original: true,
        cover: 'src/image/cover/2019121192339714.png',
        content:
          'Spire.Doc for .NET是一款由E-iceblue公司开发的专业的Word .NET类库，使用该工具开发人员可以在任意.NET平台（C#，VB.NET，ASP.NET）上快速创建，读取，写入，转换，打印Word文档。作为一个独立的Word 组件，Spire.Doc的运行无需安装Microsoft Word。而且，它可以将Microsoft Word文档创建功能集成到开发者的任何.NET应用程序。',
      },
      {
        title: '.NET Spire.Doc组件',
        time: Date.now(),
        top: false,
        original: false,
        cover: 'src/image/cover/2019121192339714.png',
        content:
          'Spire.Doc for .NET是一款由E-iceblue公司开发的专业的Word .NET类库，使用该工具开发人员可以在任意.NET平台（C#，VB.NET，ASP.NET）上快速创建，读取，写入，转换，打印Word文档。作为一个独立的Word 组件，Spire.Doc的运行无需安装Microsoft Word。而且，它可以将Microsoft Word文档创建功能集成到开发者的任何.NET应用程序。',
      },
      {
        title: '.NET Spire.Doc组件',
        time: Date.now(),
        top: false,
        original: false,
        cover: 'src/image/cover/2019121192339714.png',
        content:
          'Spire.Doc for .NET是一款由E-iceblue公司开发的专业的Word .NET类库，使用该工具开发人员可以在任意.NET平台（C#，VB.NET，ASP.NET）上快速创建，读取，写入，转换，打印Word文档。作为一个独立的Word 组件，Spire.Doc的运行无需安装Microsoft Word。而且，它可以将Microsoft Word文档创建功能集成到开发者的任何.NET应用程序。',
      },
    ],
    copy: 'Copyright &copy; 2024 yss This website is <a style="color: grey;" href="https://gitee.com/yssgit/yan_shisan_blog_template">open source.</a>',
  };

  @Inject()
  ctx: Context;

  @Inject()
  userService: UserService;

  @Get('/')
  async render() {
    const originPath = this.ctx.path;
    // 为区别其他api的path设置了前缀，这里载入ejs需要去掉前缀
    const fixPath = originPath.replace('/view/', '');
    let loadUrl = fixPath;
    // 如果url是访问目录，则补充默认的index.ejs
    if (fixPath.endsWith('/')) {
      loadUrl += 'index.ejs';
    } else {
      // 替换成ejs后缀
      const exNameIndex = fixPath.lastIndexOf('.');
      loadUrl = fixPath.substring(0, exNameIndex) + '.ejs';
    }
    // /default/index.ejs
    console.log('fixPath: ', fixPath, loadUrl);
    await this.ctx.render(loadUrl, WEBController.webData);
  }
}
